import { defineStore } from 'pinia'

export const useContactPersonInfoStore = defineStore('contactPersonInfo', {
  state: () => {
    return {
      contactPersonInfo: {},
      contactPersonInfoList: []
    }
  },
  getters: {
    // getInfo:(state) => state.contactPersonInfo
  },
  actions: {
    getContactPersonInfo() {
      return this.contactPersonInfo
    },
    getContactPersonInfoList() {
      return this.contactPersonInfoList
    },
    setContactPersonInfo(contactPersonInfo) {
      this.contactPersonInfo = contactPersonInfo
    },
    setContactPersonInfoList(contactPersonInfoList) {
      this.contactPersonInfoList = contactPersonInfoList
    }
  },
  persist: true  // 全部使用默认配置 将数据持久化到localStorage
  // persist: {  //  persist 属性来配置持久化
  //   enabled: true,
  //   strategies: [
  //     {
  //       key: 'piniaStore', //存储名称
  //       storage: sessionStorage, // 存储方式
  //       paths: ['userInfo'], //指定 state 中哪些数据需要被持久化。[] 表示不持久化任何状态，undefined 或 null 表示持久化整个 state
  //     },
  //   ],
  // },
})

/**
 * 使用方法
 * 1.创建对象  useUserInfoStore = useUserInfoStore()
 * 2. 获取属性  useUserInfoStore.userInfo
 * 3. 获取计算属性   useUserInfoStore.getInfo
 * 4. 设置属性  useUserInfoStore.setInfo(userInfo)
 * 5. 结构 创建响应式 属性 const {name,age} = storeToRefs(userStore)   import {storeToRefs} from 'pinia'
 * 5. 结构 创建响应式 属性 const {name,age} = toRefs(userStore)   import {toRefs} from 'vue'
 *
 *
 */

/**
 * persist 文档参考 https://prazdevs.github.io/pinia-plugin-persistedstate/zh/guide/
 */
